package cn.com.action;

import cn.com.dao.UserDao;
import cn.com.view.LoginFrame;
import cn.com.view.MainFrame;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @author ：khc
 * @date ：Created in 2021/12/20 17:31
 * @description： 用户操作的。登录、取消按钮的事件处理类
 * @modified By：
 * @version: $
 */
public class UserAction implements ActionListener {
    //获取登录界面的用户名和密码
    //定义登录界面对像
    private LoginFrame loginFrame;
    //定义UserDao
    private UserDao userDao;
    public UserAction(LoginFrame loginFrame){
        this.loginFrame = loginFrame;
        //实例化
        userDao = new UserDao();
    }

    //当点击某个注册当前事件处理类的按钮时触发
    @Override
    public void actionPerformed(ActionEvent e) {
        //获取按钮的名字
        String command = e.getActionCommand();
        //检查是登录还是取消
        if("login".equalsIgnoreCase(command)){//登录
            //检查用户名是否为空
            String username = loginFrame.getUsername().getText().trim();
            if(username == null || username.equals("")){
                //提示
                JOptionPane.showMessageDialog(null,"用户名不能为空!");
                return;
            }
            //检查密码是否为空
            String password = loginFrame.getPassword().getText().trim();
            if(password == null || password.equals("")){
                //提示
                JOptionPane.showMessageDialog(null,"密码不能为空!");
                return;
            }
            //进行数据库的验证
            int result = userDao.validate(username,password);
            if(result>0){//验证成功
                //JOptionPane.showMessageDialog(null,"验证成功!");
                //关闭登录界面 销毁登录界面
                loginFrame.getF().dispose();
                //打开主界面
                new MainFrame();
            }else{//验证失败
                JOptionPane.showMessageDialog(null,"用户名或密码错，请重新输入!");
                return;
            }

        }else if("cancel".equalsIgnoreCase(command)){//取消
            //把用户名和密码进行重置
            loginFrame.getUsername().setText("");
            loginFrame.getPassword().setText("");
        }
    }
}
